High speed digital systems rely on the ability to correctly ascertain the logical value of a binary data signal at specific times. In a digital system there are abrupt transitions between the logical values, and the nominal period of time that the data signal represents a particular logical value is called the UI (for Unit Interval). Generally there is provided (or derived) another signal, called a clock signal, whose period is also the UI and whose abrupt transitions in a selected direction serve as the ‘specific times’ (mentioned above) at which the logical value of the data signal is to be ascertained, a process often termed ‘sampling.’ It is common for the phase of the clock signal to be adjusted relative to the transitions in the data signal such that the sampling according to the clock signal will occur in the middle of the unit interval of the data signal. If satisfactory performance is to be achieved in a modern high speed system the error rate in sampling and ascertaining the logical values may need to be very low, often only one error in 1012 bits, or even less.
In an ideal world, all edges in a clock or data signal would occur at locations along a time axis that were an exact UI apart, or for data signals, perhaps variously at different exact multiples of the unit interval. The ‘rattle’ in the edges of a signal that is supposed to transition only at particular times (here, at the expiration of one or more consecutive unit intervals) is called jitter. In today's high performance digital systems, the presence of jitter in the data signal and in the clock has a significant effect on the system's ability to correctly ascertain the logical value of the data signal. There are other error causing mechanisms, to be sure, but if a high speed digital system is to offer good performance it needs to have low jitter (say, 1/1000 UI RMS, or less).
To reduce jitter one generally has to locate its source, and it turns out that it is useful and productive to recognize several different types of jitter. It is now common for test equipment intended for use with high performance digital systems to include in their repertoire of operations automated measurements of jitter, and to do so while recognizing several different types of jitter, each of which can be separately characterized. Total Jitter (TJ) is the aggregate amount of observable jitter, and is (or ought to be) the ‘sum’ of all the various types of component jitter that can be recognized.
There are wide variations among techniques for jitter measurement. In particular, there are some ‘brute force’ techniques that perform all of N-many trials, and which can seem to take forever (hours, or even days!) to get accurate results having resolution in parts in 1012. Even if the UI is one nanosecond, it still takes over twenty minutes to measure 1012 of them. And some techniques require N-many repetitions of a suitable test pattern that is in the range of one hundred or a thousand UI in length. Clearly, such brute force approaches are not suitable for quickly characterizing expected low rates of jitter.
Various strategies have been developed to cope with this situation. These often revolve around assuming that some of the jitter is random in nature, with the rest arising from various other mechanisms. The idea is that, if the nature of a component source of jitter is known, then it can be represented by a suitable model. The significance of this is that, while the model needs coefficients to produce greater or lesser amounts of jitter, the shape of the probability distribution of that jitter component is specific to the model, so that the particular coefficients for a specific instance can be found by curve fitting techniques operating on a proper collection of samples. The plan (for, say, Random Jitter) is to sample for a reasonable amount of time, do a curve fit to instantiate the model, and then let the model predict with some confidence what we would get if we were to let the measurement run to conclusion using brute force techniques. Clearly, if that is the plan, then we need to have at hand for the curve fitting data that represents only that one kind of jitter; otherwise the model's prediction will be inaccurate.
Now a new set of difficulties arises. The measured data (TJ) will contain the effects of all the different types of jitter. These include Periodic Jitter (PJ), Random Jitter (RJ) and Data Dependent Jitter (DDJ) that is correlated with the content of the data itself. It is not possible to readily directly measure values that pertain to only a particular component type of jitter, since we can't observe those types in isolation: the measured data will generally include the combined effects of all types of jitter. Not only must indirect methods be developed to isolate or separate from the combined result the data for individual types of jitter (so that models or other analysis can be applied to appropriate data), but there is more than one way to decompose into components the combined jitter (TJ) that is actually measured.
We are particularly interested here in a jitter measurement technique for discovering RJ that is useable in a real time Digital Sampling Oscilloscope (DSO) or comparable environment (such as a Timing Analyzer) to produce credible and valid results in seconds instead of hours. While there are various techniques that are known for measuring TJ and separating it into its component types, each has a related set of prerequisites. For example, the technique described in METHOD AND APPARATUS USE RE-SAMPLED TIE RECORDS TO CHARACTERIZE JITTER IN A DIGITAL SIGNAL requires repetitions of an applied Test Pattern to allow self-cancellation of RJ, and thus allow its removal as a component from the aggregate data.
To provide a bit more detail concerning this point, the measurement technique described in METHOD AND APPARATUS USE RE-SAMPLED TIE RECORDS TO CHARACTERIZE JITTER IN A DIGITAL SIGNAL begins with the production of a digital test sequence that comprises many repetitions of a Test Pattern containing a wide variety of bit values in combination. An Acquisition Record is made of the entire test sequence. A complete Time Interval Error (TIE) Record is made of the Acquisition Record. The complete TIE Record is separated into a collection of Component TIE Records, one for each transition in the Test Pattern, and that contains all the different instances in the test sequence of that particular transition in the Test Pattern. (To be sure, not every clock cycle exhibits a transition in the original data, and that causes a phenomenon called ‘holes’ that violates an equal time between samples requirement common to easily implemented Fourier Transform techniques. Upon reflection, it will be appreciated that a Component TIE Record has no ‘holes’ because those holes, if we actually bothered to do it, would have each been collected into respectively associated Component TIE Records that would then nevertheless remain empty.) A Fourier Transform (FT) is performed on each (non-empty!) Component TIE Record, and the collected DC contributions of those FTs can be combined to produce an indication of Deterministic Jitter (Data Dependent Jitter ‘plus’ Periodic Jitter). The various frequency components in the spectral content of the FTs for the Component TIE Records are identified by application of a threshold to a power spectrum and then combined to produce an indication of Periodic Jitter. That Periodic Jitter can then (in this method) be removed from those FTs (without the DDJ-related DC components) to leave a resultant indication of Random Jitter. It is for the production of this spectral content that the applied Test Pattern needs to be repeated, so that holes in the input to those FTs appear to vanish. This approach avoids mischief that would otherwise be caused by attempting to perform a Fourier Transform upon an Original TIE Record containing holes (as it surely must do). Such an FT would produce a spectrum that is badly corrupted by the holes, and for which the separation of components according to some criteria (DC level, threshold comparison) is next to impossible.
There is a need for a Random Jitter measurement technique using a real time DSO or Timing Analyzer that operates quickly, preserves useful ancillary information, whose resolution scales with longer measurement times, and that tolerates a test sequence of arbitrary length and content that might either be random or be actual ‘live’ data measured while the system was in operational use. The RJ discovery technique described in METHOD AND APPARATUS USE RE-SAMPLED TIE RECORDS TO CHARACTERIZE JITTER IN A DIGITAL SIGNAL meets most of these needs, but requires that there be many (the more, the better, up to a point) repetitions of an applied Test Pattern. We need to accommodate situations where the Test Pattern, instead of being repetitive, is just one suitably long instance of arbitrary data (which might be some special data cooked up ahead of time, be pseudo-random, or, be genuine ‘live’ data in a system in actual use). Without repetition of the Test Pattern, the luxury of avoiding the effects of the holes upon a Fourier Transform is not immediately at hand. What to do?